<template>
	<view class="lottie-bg">
		 <view @click="pay">支付</view>
	</view>
</template>

<script>
	 import jweixin from 'weixin-jsapi'
	import { testPay } from "@/api/test.js";
	export default { 
		mounted() {

		},
		onLoad(option) {
			 
		},
		methods:{
			pay(){ 
			  testPay().then(res => {
			  	  if(res.code == 200){ 
			  		  let payRes = JSON.parse(res.data.pay_info)
			  		  console.log(payRes)   
			  		  
			  		let data = payRes;  
			  			//此处调用本文一开始引入的wxjsapi并进行初始化
			  			jweixin.config({
			  						debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
			  						appId: data.appId, // 必填，公众号的唯一标识
			  						timestamp: data.timeStamp, // 必填，生成签名的时间戳
			  						nonceStr: data.nonceStr, // 必填，生成签名的随机串
			  						signature: data.paySign, // 必填，签名
			  						jsApiList: ['chooseWXPay'],
			  					});
			  						jweixin.ready(() => {
			  					jweixin.chooseWXPay({
			  						appId: data.appId,
			  						timestamp: data.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
			  						nonceStr: data.nonceStr, // 支付签名随机串，不长于 32
			  						package: data.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）
			  						signType: data.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
			  						paySign: data.paySign, // 支付签名
			  						success: function(res) {
			  							console.log('付款成功！', res); 
			  							uni.showToast({
			  								title: "付款成功！",
			  								duration: 1000
			  							})
			  						},
			  						complete: function(res) {
			  							uni.switchTab({
			  								url:"/pages/index/index"
			  							})
			  												// 接口调用完成时执行的回调函数，无论成功或失败都会执行
			  												if (res.errMsg == 'chooseWXPay:ok') {
			  													// 【支付成功】：支付成功提示页面，点击完成按钮之后
			  													//wx.closeWindow(); /* 关闭微信窗口，调用时需要在config中进行校验 */
			  												} else if (res.errMsg == 'chooseWXPay:cancel') {
			  													// 【支付取消】
			  												} else {
			  						
			  												}
			  						}, 
			  						cancel: function(res) {
			  							console.log('付款取消！', res);
			  							uni.showToast({
			  								title: "付款取消！",
			  								duration: 1000
			  							})
			  						},
			  						fail: function(res) {
			  							console.log('付款失败！', res);
			  							uni.showToast({
			  								title: "付款失败！",
			  								duration: 1000
			  							})
			  						}
			  			 });
			  	  });
			  			 
			  		 	 
			     } 
			  }).catch(err => {
			  	  
			  });  
			}
		}
	};
</script>

<style scoped lang="scss">
	 
</style>
